DbContext এবং Database Migrations

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) ডেটা অ্যাক্সেস (Data Access) |
228
228

DbContext এবং Database Migrations হল Entity Framework Core (EF Core)-এর দুটি প্রধান অংশ, যা ডেটাবেসের সাথে কাজ করার প্রক্রিয়াকে সহজ করে তোলে। DbContext ডেটাবেসের সাথে যোগাযোগের মাধ্যম হিসেবে কাজ করে এবং Migrations ডেটাবেসের স্কিমা পরিবর্তন এবং তার সাথে সম্পর্কিত কনফিগারেশনগুলো ট্র্যাক করে। চলুন, এগুলো সম্পর্কে বিস্তারিত জানি।


DbContext পরিচিতি

DbContext EF Core-এর কেন্দ্রীয় অংশ। এটি ডেটাবেসের সাথে কাজ করার জন্য ব্যবহৃত হয় এবং DbSet প্রপার্টি ব্যবহার করে ডেটাবেস টেবিলের সাথে সম্পর্ক স্থাপন করে।

  • DbContext ক্লাস তৈরি করা:
    DbContext তৈরি করার জন্য আপনাকে একটি ক্লাস তৈরি করতে হবে যেটি DbContext থেকে ইনহেরিট করবে। এতে আপনার মডেল ক্লাসগুলো DbSet হিসেবে সংজ্ঞায়িত করতে হবে।

    উদাহরণ:

    public class ApplicationDbContext : DbContext
    {
        public DbSet<Customer> Customers { get; set; }
        public DbSet<Order> Orders { get; set; }
    
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        { }
    }
    

    এখানে Customers এবং Orders হল DbSet, যা ডেটাবেসের টেবিলের সাথে সম্পর্কিত।

  • DbContext-এর ব্যবহার: DbContext ক্লাসের মাধ্যমে ডেটাবেসে কুয়েরি করা, রেকর্ড তৈরি, রেকর্ড আপডেট করা, বা ডিলিট করা সম্ভব। এটি EF Core এর মাধ্যমে ডেটাবেস অপারেশনগুলো পরিচালনা করে।

Database Migrations

Migrations হল ডেটাবেসের স্কিমার মধ্যে পরিবর্তন ট্র্যাক করার একটি প্রক্রিয়া। যখন আপনি নতুন মডেল তৈরি করেন বা বিদ্যমান মডেলে কোনো পরিবর্তন আনেন, তখন EF Core Migrations তৈরি করে, যা ডেটাবেসের স্কিমা পরিবর্তনের জন্য প্রয়োজনীয় কমান্ডগুলো তৈরি করে। মাইগ্রেশনগুলির মাধ্যমে ডেটাবেসের আপডেট করা হয়, এবং এটি ডেটাবেস এবং কোডের মধ্যে সিঙ্ক্রোনাইজেশন বজায় রাখে।

মাইগ্রেশন তৈরি করা

  1. মাইগ্রেশন তৈরি করা:
    প্রথমে, আপনি যখন মডেলে কোনো পরিবর্তন করবেন (যেমন নতুন প্রপার্টি বা ক্লাস যোগ করা), তখন আপনাকে একটি নতুন মাইগ্রেশন তৈরি করতে হবে। এটি করতে নিচের কমান্ড ব্যবহার করা হয়:

    dotnet ef migrations add InitialCreate
    

    এই কমান্ডটি একটি মাইগ্রেশন ফাইল তৈরি করবে, যা ডেটাবেসের স্কিমা পরিবর্তনের জন্য প্রয়োজনীয় কোড ধারণ করবে।

  2. ডেটাবেস আপডেট করা:
    একবার মাইগ্রেশন তৈরি হলে, আপনি dotnet ef database update কমান্ড ব্যবহার করে ডেটাবেসে সেই মাইগ্রেশন প্রয়োগ করতে পারবেন। এটি ডেটাবেসে নতুন স্কিমা পরিবর্তন আনবে।

    dotnet ef database update
    

মাইগ্রেশন ফাইল

মাইগ্রেশন ফাইলটি একটি C# ক্লাস যা দুটি মেথড ধারণ করে:

  • Up(): এই মেথডটি নতুন স্কিমা পরিবর্তনগুলো ডেটাবেসে প্রয়োগ করার জন্য ব্যবহৃত হয়।
  • Down(): এই মেথডটি স্কিমার পরিবর্তন ফিরিয়ে আনার জন্য ব্যবহৃত হয় (যদি আপনি মাইগ্রেশন বাতিল করতে চান)।

এখানে একটি উদাহরণ:

public partial class InitialCreate : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.CreateTable(
            name: "Customers",
            columns: table => new
            {
                Id = table.Column<int>(nullable: false)
                    .Annotation("SqlServer:Identity", "1, 1"),
                Name = table.Column<string>(nullable: true)
            },
            constraints: table =>
            {
                table.PrimaryKey("PK_Customers", x => x.Id);
            });
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.DropTable(
            name: "Customers");
    }
}

এখানে Up() মেথডে একটি Customers টেবিল তৈরি করা হয়েছে, এবং Down() মেথডে ঐ টেবিলটি মুছে ফেলার নির্দেশনা দেওয়া হয়েছে।


মাইগ্রেশন ব্যবস্থাপনা

  1. মাইগ্রেশন ফিরিয়ে আনা:
    কখনও কখনও, আপনি একটি মাইগ্রেশন রোলব্যাক করতে চাইলে dotnet ef migrations remove কমান্ড ব্যবহার করতে পারেন, যা শেষ তৈরি হওয়া মাইগ্রেশনটি বাতিল করে।

    dotnet ef migrations remove
    
  2. মাইগ্রেশন হালনাগাদ করা:
    আপনি যদি মাইগ্রেশন ফাইল পরিবর্তন করতে চান (যেমন, নতুন কোড বা ডেটা পরিবর্তন), তবে dotnet ef migrations add কমান্ড ব্যবহার করে একটি নতুন মাইগ্রেশন ফাইল তৈরি করুন এবং dotnet ef database update কমান্ড দিয়ে তা ডেটাবেসে প্রয়োগ করুন।
  3. মাইগ্রেশন ইতিহাস দেখা:
    আপনি dotnet ef migrations list কমান্ড ব্যবহার করে বর্তমানে সমস্ত মাইগ্রেশন ফাইলের একটি তালিকা দেখতে পারেন।

    dotnet ef migrations list
    

সারাংশ

DbContext EF Core-এ ডেটাবেসের সাথে সম্পর্ক স্থাপনের প্রধান উপাদান, যা আপনার মডেল এবং ডেটাবেস টেবিলের মধ্যে ম্যাপিং করে। Migrations ডেটাবেসের স্কিমা পরিবর্তন ট্র্যাক এবং প্রয়োগ করার প্রক্রিয়া, যা ডেটাবেস এবং কোডের মধ্যে সিঙ্ক্রোনাইজেশন বজায় রাখে। মাইগ্রেশন তৈরি, আপডেট এবং রোলব্যাক করার মাধ্যমে আপনি সহজেই ডেটাবেসের স্কিমা পরিবর্তন করতে পারবেন। EF Core এ এই দুটি টুল ব্যবহারের মাধ্যমে ডেটাবেসের কার্যক্রম সহজ, দ্রুত, এবং দক্ষভাবে পরিচালিত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion